package com.sz.common.core.system.service;

import com.sz.common.core.system.dto.FileInfoDto;

import java.util.List;

/**
 * Function: SysFileService <br>
 * Author: Charles <br>
 * Date: 2016-12-12 17:49:00
 */
public interface SysFileGroupService {
    /**
     * @return
     */
    String generateGroupId();

    /**
     * @param fileIds
     * @param owners
     * @param description
     * @param domainId
     * @return
     */
    String createFileGroup(List<String> fileIds, String owners, String description, int domainId);

    /**
     * @param groupId
     * @param fileIds
     * @param owners
     * @param description
     * @param domainId
     */
    String saveFileToGroup(String groupId, List<String> fileIds, String owners, String description, int domainId);

    /**
     * @param fileIds
     * @param owners
     * @param description
     * @param domainId
     * @return
     */
    void insertFileToGroup(String groupId, List<String> fileIds, String owners, String description, int domainId);

    /**
     * @param groupId
     * @param fileIds
     */
    void removeFileFromGroup(String groupId, List<String> fileIds);

    /**
     * @param groupId
     */
    void removeAllFileFromGroup(String groupId);

    /**
     * @param groupId
     * @return
     */
    List<String> getFileIdsByGroupId(String groupId);

    /**
     * @param groupId
     * @return
     */
    List<FileInfoDto> getFileDtosByGroupId(String groupId);

}
